//
//  KKBaseNetMode.h
//  AFnetWorking测试
//
//  Created by long on 14-11-18.
//  Copyright (c) 2014年 谭启龙. All rights reserved.
//  映射接口的Mode类

#import <Foundation/Foundation.h>

typedef enum : NSUInteger {
    AttributeType_Int,
    AttributeType_Bool,
    AttributeType_Long,
    AttributeType_Float,
    AttributeType_Double,
    AttributeType_NSNumber,
    AttributeType_NSString,
    AttributeType_UnKnow
} AttributeType; //支持自动映射的属性类型

@protocol XLBaseNetModeProtocol <NSObject>

/**
 *  属性映射表,子类必须实现 key属性名字，value接口的名字
 *
 *  @return 映射表
 */
- (NSDictionary*)attributeMapDictionary;

@end

@interface XLBaseNetMode : NSObject <XLBaseNetModeProtocol>
//***-项目特有的几个属性
@property (nonatomic,copy) NSString * code;
@property (nonatomic,copy) NSString * msg;
@property (nonatomic,copy) NSNumber * success;
//-***
/**
 *  初始化方法
 *
 *  @param data 通过接口得到的字典
 *
 *  @return self
 */
- (id)initWithDataDic:(NSDictionary*)data;

/**
 *  映射属性值
 *
 *  @param dataDic 已实例化的Mode重新映射属性值
 */
- (void)setAttributes:(NSDictionary*)dataDic;

@end
